export const formatDateTime = (time,length:number):string=>{
  return new Date(time).getTime().toString().substr(0,7)
}
export function formatDate(dates: any, format: string): (string | null) {
    if (!arguments.length) return null
    const cFormat = format || '{y}-{m}-{d}'
    const date = typeof dates === 'object' ? dates : new Date(dates)
    const formatObj = {
      y: date.getFullYear(),
      m: date.getMonth() + 1,
      d: date.getDate(),
      h: date.getHours(),
      i: date.getMinutes(),
      s: date.getSeconds(),
      a: date.getDay()
    }
    const timeStr = cFormat.replace(/{(y|m|d|h|i|s|a)+}/g, (reslut, key) => {
      let value = formatObj[key]
      if (key === 'a') return ['天', '一', '二', '三', '四', '五', '六'][value]
      if (reslut.length && value < 10) {
        value = '0' + value
      }
      return value || 0
    })
    return timeStr
  }

/**
 * 格式化时间
 * @param time Unix时间戳，时间戳字符串，Date对象，如："2020-1-1 00:00:00", 1577808000000
 * @param format 用占位符填充的格式，eg："yyyy-MM-dd hh:mm:ss", "yyyyMMdd"。yyyy: 年, MM: 月, dd: 日, hh: 时, mm: 分, ss: 秒。单个字母表示不补零。
 * @returns 格式化的时间字符串
 */
export const formatTime = (time?: number | string | Date | null, format = "yyyy-MM-dd"): string => {
  const date = time ? new Date(time) : new Date();
  if (date.toString() == "Invalid Date") throw new Error("时间值不合法");
  const dateMap = {
    yyyy: date.getFullYear(),
    MM: (date.getMonth() + 1 < 10 ? "0" : "") + (date.getMonth() + 1),
    M: date.getMonth() + 1,
    dd: (date.getDate() < 10 ? "0" : "") + date.getDate(),
    d: date.getDate(),
    hh: (date.getHours() < 10 ? "0" : "") + date.getHours(),
    h: date.getHours(),
    mm: (date.getMinutes() < 10 ? "0" : "") + date.getMinutes(),
    m: date.getMinutes(),
    ss: (date.getSeconds() < 10 ? "0" : "") + date.getSeconds(),
    s: date.getSeconds(),
  };
  return format.replace(/y+|M+|d+|h+|m+|s+/g, key => dateMap[key]);
}
